ICTSC2019 一次予選 問題解説: メールは届いてるけど…

問題文

以下のメールがあなたのもとへ届いた。しかし、どうやらこのメールの中にはサーバの設定が間違っているために期待していた配送が行われなかったものがあるようだ。該当するメールとその理由を答えてほしい。(複数回答可)

https://drive.google.com/drive/folders/1h0Ro8lMD3EYBwqE5jZKAa9F7TtZcKjlu?usp=sharing

トラブルの概要

  • メールサーバのドメイン設定が間違っているためにドメイン詐称状態になっている。
  • DNSサーバに登録されているSPFレコードの記法が間違っている。
  • DNSサーバにDKIMレコードが登録されていない。

解説・解答例

配布されているメールのヘッダから判断します。

mail2.txt より、Received: from mx2.prob2019-q1.ictsc.net (mx5.prob2019-q1.ictsc.net [103.202.216.3]) から 次のことが把握できます。

  • メールを転送した 103.202.216.3 のサーバから逆引きできるドメインが mx5.prob2019-q1.ictsc.net である。
  • ヘッダには mx2.prob2019-q1.ictsc.net が送信元として記述されている

mail3 .txtより、spf=softfail (ictsc.net: domain of transitioning ... から SPFに何らかの問題があることを把握できます。
ここで、実際に送信元のドメインに登録されているSPFレコードを確認してみます。

$ dig mx3.prob2019-q1.ictsc.net txt

; <<>> DiG 9.11.3-1ubuntu1.8-Ubuntu <<>> mx3.prob2019-q1.ictsc.net txt
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 24853
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;mx3.prob2019-q1.ictsc.net.     IN      TXT

;; ANSWER SECTION:
mx3.prob2019-q1.ictsc.net. 299  IN      TXT     "v=spf1 ipv4:103.202.216.33/32  ~all"

;; Query time: 77 msec
;; SERVER: 192.168.10.1#53(192.168.10.1)
;; WHEN: Sat Aug 10 20:11:56 JST 2019
;; MSG SIZE  rcvd: 99

結果から "v=spf1 ipv4:103.202.216.33/32 ~all" というTXTレコードが登録されていることがわかりますが、正しい書式は "v=spf1 ip4:103.202.216.33/32 ~all" であり、期待通りの設定がされていないことがわかります。

mail4.txtより、dkim=neutral (invalid public key) ... から DKIMの公開鍵の設定に何らかの不備があることが確認できます。
DKIM-Signature からセレクタがdefaultであることを把握し、実際に送信元ドメインに登録されているDKIMレコードを確認します。

$ dig default._domainkey.mx4.prob2019-q1.ictsc.net

; <<>> DiG 9.11.3-1ubuntu1.8-Ubuntu <<>> default._domainkey.mx4.prob2019-q1.ictsc.net
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 61834
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;default._domainkey.mx4.prob2019-q1.ictsc.net. IN A

;; AUTHORITY SECTION:
ictsc.net.              1799    IN      SOA     desi.ns.cloudflare.com. dns.cloudflare.com. 2031710084 10000 2400 604800 3600

;; Query time: 107 msec
;; SERVER: 192.168.10.1#53(192.168.10.1)
;; WHEN: Sat Aug 10 20:18:54 JST 2019
;; MSG SIZE  rcvd: 135

結果より、DKIMレコードが設定されていないことが確認できます。参考として、他のすべてのメール・送信元ドメインにはすべてDKIMレコードが以下のように設定されています。

$ dig default._domainkey.mx3.prob2019-q1.ictsc.net txt

; <<>> DiG 9.11.3-1ubuntu1.8-Ubuntu <<>> default._domainkey.mx3.prob2019-q1.ictsc.net txt
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 33765
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;default._domainkey.mx3.prob2019-q1.ictsc.net. IN TXT

;; ANSWER SECTION:
default._domainkey.mx3.prob2019-q1.ictsc.net. 299 IN TXT "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC0og8YgAH1Uo/bS+WShCsdCg+7UTlw9GvvfxVcLdBAzlU0cjZqmGRj6FqoI0yWafcVN3L7G78zXqL0zGllFmBP19IJjGryFRmVKvjTofK6bSs0o4bfZvNowy9UAAQcuwLNgNdAw2QNsMe4RfbQhhdbAaTTMwrwV0YqCx0hIsMG6QIDAQAB"

;; Query time: 62 msec
;; SERVER: 192.168.10.1#53(192.168.10.1)
;; WHEN: Sat Aug 10 20:19:47 JST 2019
;; MSG SIZE  rcvd: 320

採点基準

mail2 について

  • 送信元ドメインと逆引きドメインが間違っていることを指摘する (10%)
  • 解決方法について記述する (10%)

mail3 について

  • SPFに言及している (10%)
  • SPFのレコードの 書式 に問題があることについて言及している (20%)
  • 正しいSPFレコードを提示する (10%)

mail4 について

  • DKIMに言及している。 (10%)
  • DKIMレコードが登録されていないことに言及する。(20%)
  • 登録するべきDKIMレコードについて言及する。(10%)